# 任务详情
# 根据任务详情下方提供的网页（数量为1），完成商品搜索结果分析。

# 请将右侧的函数 itemSearch() 补充完整，使其能完成以下功能：

# 对于网页中出现的任一网店名称 ，函数返回以下信息，请将以上获取的信息保存在数组中，按顺序返回。

# 任务要求
# 该网店对应商品，是否参与满减促销（非满件促销），返回值为True或False

# 该网店对应商品的价格，是否存在会员价，如果存在，则返回会员价，返回类型为float（保留1位小数），如果不存在，返回原始价格

# 该网店对应商品的评论数，返回类型为int

# 如果该网店存在两个及以上商品，返回价格较高的商品信息；如果商品价格相同，返回搜索结果最靠前的商品信息

# 链接地址在下方专题地址中给出，点击链接可以直接获取

# 测试用例
# 输入："花花公子官方旗舰店"    输出：[False, 139.0, 4400]

# 解释：该网店价格最高的商品未参加满减促销活动，对应价格为139.0，商品评论数为4400

# 输入："陌芙丝欧旗舰店"           输出：[True, 139.0, 12000]

# 解释：该网店价格最高的商品参加满减促销活动，对应价格为139.0，商品评论数为12000

# 输入："合众服饰专营店"           输出：[True,118.0,10000]

# 解释：该网店价格最高的商品参加满减促销活动，对应价格为118.0，商品评论数为10000

# 链接： http://72.itmc.org.cn:80/JS001/open/show/ecjd.html

# 说明
# 1. 会员价格是商品价格右边小字出现的价格信息
# 2. 评论数为“1万+”就代表评论数为“10000”
# 3. 函数接收“网店名称”这一变量，返回类型为数组
# 4. 不得修改函数的名称
# 5.“满减促销”和“满件促销”是不一样的概念
# 6. 网页中存在相同店铺名称的商品，请注意甄别
# 
# # 1.运行或提交代码不需要自己编写测试用例，后台自动进行测试检查。
# 2.您编写代码的区域可以不限定在类或者函数体内，保证输入与输出符合任务要求即可。
# 3.点击“运行代码”按钮，可以查看程序设计是否正确，运行次数越多，任务得分越低。
# 4.点击“提交代码”按钮，系统将保存代码，并记录任务数据。
# 5.点击右上方“结束任务”按钮，系统将在后台计算任务得分，任务结束。
# -*- coding: utf-8 -*- 
import re

import bs4
import requests


class Solution:
    def itemSearch(self, shop_name: str) -> list:
        # 从此处开始编写代码
        url = 'http://72.itmc.org.cn:80/JS001/open/show/ecjd.html'
        res = requests.get(url)
        res.encoding = "utf-8"
        list1 = [True, 0, 0]
        bs = bs4.BeautifulSoup(res.text, "html.parser")
        ul = bs.find("ul", "gl-warp clearfix")
        li = ul.find_all("li", "gl-item")
        for i in li:
            name = i.find("span", "J_im_icon").text
            if name == shop_name:
                manjian = i.find("div", "p-icons").text
                if "满" not in manjian:
                    list1[0] = False
                yuanjia = i.find("div", "p-price").text.replace("\n", "")[1:]
                jiagelist = yuanjia.split("￥")
                if list1[1] < float(jiagelist[0]):
                    if len(jiagelist) > 1:
                        list1[1] = float(jiagelist[1])
                    else:
                        list1[1] = float(jiagelist[0])
                    pinglun = i.find("div", "p-commit").text
                    pinglun = pinglun.split("+")[0]
                    if "万" in pinglun:
                        pinglun = float(pinglun.replace("万", "")) * 10000
                    list1[2] = int(pinglun)
        return list1
        pass
        # 代码编写结束


name1 = "潮龙涧男装专营店"
name2 = "花花公子官方旗舰店"
name3 = "慕仕专营店"
name4 = "罗蒙（ROMON）男装京东自营专卖店"
name5 = "陌芙丝欧旗舰店"
print(Solution.itemSearch(Solution, "潮龙涧服饰专营店"))
